package com.winsdom.service;

import com.winsdom.dto.CategoryTreeNodes;
import com.winsdom.dto.FeecategoryThreeNodes;
import com.winsdom.dto.expenditure.ExpenditureDto;
import com.winsdom.dto.expenditure.ExpenditureUpsertDTO;
import com.winsdom.entity.Expenditure;
import com.baomidou.mybatisplus.extension.service.IService;
import com.winsdom.entity.FeeCategory;
import com.winsdom.result.Result;
import com.winsdom.vo.expenditure.ExpenditureVo;

import java.util.List;

/**
 * <p>
 * 费项表 服务类
 * </p>
 *
 * @author 
 * @since 2025-05-12
 */
public interface IExpenditureService extends IService<Expenditure> {

    List<ExpenditureVo> getExpenditureList(ExpenditureDto expenditureDto);

    List<FeeCategory> getFeeCategoryList();

    List<FeecategoryThreeNodes> getFeeCategoryNodes();

    Result addExpenditure(ExpenditureUpsertDTO dto);

    Result getFormula(Integer nature);

    Result showExpenditure(Integer expenditureId);

    Result stopExpenditure(Integer expenditureId);

    Result updateExpenditure(ExpenditureUpsertDTO dto);
}
